import java.io.File;
import java.util.LinkedList;
import java.util.Queue;

public class main {
    public static void main(String[] args) {
        // 指定要遍历的根目录路径
        String rootPath = "C:\\Users\\123\\大一";

        // 创建一个File对象表示根目录
        File rootDir = new File(rootPath);

        if (!rootDir.exists() || !rootDir.isDirectory()) {
            System.out.println("错误");
            return;
        }

        // 使用队列来进行广度优先遍历
        Queue<File> queue = new LinkedList<>();
        queue.add(rootDir); // 将根目录加入队列

        while (!queue.isEmpty()) {
            File currentDir = queue.poll(); // 取出队首元素

            // 获取当前目录下的所有文件和子目录
            File[] files = currentDir.listFiles();
            if (files != null) {
                for (File file : files) {
                    System.out.println(file.getAbsolutePath()); // 打印文件或目录的完整路径

                    // 如果是目录，则将其加入队列以便后续处理
                    if (file.isDirectory()) {
                        queue.add(file);
                    }
                }
            }
        }
    }
}